Many situations arise in which a very large number of clients, possibly browsing the Internet, require access to a particular data source, such as a highly popular website. In order to serve data to many clients of this type, it known to make the data available from many servers acting as a collection with traffic management systems being used to even out loading in an attempt to optimise the available functionality.
In an environment of this type, problems may occur if traffic managers (also referred to as load balancers) become inoperative. A number of solutions have been proposed such as the inclusion of an inoperative slave associated with each operational traffic manager such that the slave takes over when its associated master traffic manager ceases to operate correctly. It will be appreciated that this is a relatively costly solution and it is always possible for the slave to fail resulting in a loss of service.
An alternative solution is to provide a set of traffic managers that include active and standby subsets. Addresses are shared among the active traffic managers and standby traffic managers take over IP addresses when a machine fails. Yet another alternative approach is to provide a set of traffic managers in which the addresses are shared out evenly so as to spread the processing requirement. When a machine fails, one or several of the remaining working machines takes over the IP addresses of the failed machine, with the intention that the increased workload for the fewer number of active traffic managers is spread as evenly as possible, or in an appropriate way if the machines have different capabilities. However, the decision as to which traffic manager should take over requires an election between the systems and can lead to faulty load balancing.